// miniprogram/pages/page1/page1.js
const app = getApp();
const db = wx.cloud.database()

Page({

    /**
     * 页面的初始数据
     */
    data: {
        message: "m1",
        isShowUserName: false,
        userInfo: null,
        canIUseGetUserProfile: false,
        studentInfo:{}
    },
    //上传文件
    goToUpLoadFile: function (e) {
        wx.navigateTo({
            url: '/pages/uploadFile/uploadFile',
        })
    },

    onGotUserInfo: function (e) {
        console.log("onGotUserInfo...")

    },
    getUserProfile(e) {
        // 推荐使用wx.getUserProfile获取用户信息，开发者每次通过该接口获取用户个人信息均需用户确认
        // 开发者妥善保管用户快速填写的头像昵称，避免重复弹窗
        wx.getUserProfile({
            desc: '用于完善会员资料', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
            success: (res) => {
                //res中是用户的微信用户信息
                console.log("微信用户信息",res)
                let weixin = res.userInfo
              
                //根据当前的openid获取到学生信息
                db.collection("student").where({
                    openid:wx.getStorageSync('openid')
                }).get({
                    success:res=>{
                        //res是学生的信息
                        console.log("学生信息",res)
                        if(res.data.length == 1){
                            let user = {}  //用户信息数据
                            user["name"] = res.data[0].name
                            user["number"] = res.data[0].number
                            user["className"] = res.data[0].className
                            user["studentImg"] = res.data[0].studentImg
                            //微信用户信息，
                            user["weixinInfo"] = weixin
                            //本地存储获取到的学生数据信息
                            wx.setStorageSync('user', user)
                            //页面上显示学生的照片、姓名、学号
                            this.setData({
                                studentInfo:{
                                    name:res.data[0].name,
                                    number:res.data[0].number,
                                    imgurl: res.data[0].studentImg
                                }
                            })
                            this.setData({
                                userInfo: weixin,
                                isShowUserName: true
                            })

                        }else{
                            //如果根据openid没有查到学生，说明该openid没有绑定学生
                            wx.showToast({
                              title: '请先绑定账号',
                            })
                        }
                    }
                })

               
            }
        })
    },
    getUserInfo(e) {
        // 不推荐使用getUserInfo获取用户信息，预计自2021年4月13日起，getUserInfo将不再弹出弹窗，并直接返回匿名的用户个人信息
        this.setData({
            userInfo: e.detail.userInfo,
            isShowUserName: true
        })
    },
    // button获取用户信息
    // onGotUserInfo: function (e) {
    //     console.log('用户信息', e)
    //     if (e.detail.userInfo) {
    //         var user = e.detail.userInfo;
    //         user.openid = app.globalData.openid;
    //         this.setData({
    //             isShowUserName: true,
    //             userInfo: user,
    //         })
    //         wx.setStorageSync('userInfo', user)

    //     } else {
    //         wx.showToast({
    //             title: '登陆需要允许授权',
    //         })
    //     }
    // },
    //跳转到页面subPage1
    gotoSubPageByNavigateTo: function (option) {
        // 保留当前页面，跳转到应用内的某个页面。但是不能跳到 tabbar 页面。使用 wx.navigateBack 可以返回到原页面
        let id = "s001"
        let name = '张兄'
        let stu = {
            name: '刘雪',
            age: 18
        }
        // JSON.stringify  JSON对象转成JSON字符串
        wx.navigateTo({
            url: '/pages/subPage1/subPage1?id=' + id + "&name=" + name + "&stu=" + JSON.stringify(stu),
            success: res => {
                console.log("跳转成功", res)
            },
            fail: res => {
                console.log("跳转失败", res)
            }
        })
    },
    //跳转到要么subPage2
    gotoRedirectTo: function (option) {
        //关闭当前页面，跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面
        wx.redirectTo({
            url: '/pages/subPage2/subPage2',
            success: res => {
                console.log("跳转成功", res)
            },
            fail: res => {
                console.log("跳转失败", res)
            }
        })
    },
    testDb: function () {
        wx.navigateTo({
            url: '/pages/testDBAPI/testDBAPI',
        })
    },
    //测试云数据库案例
    testDbDemo: function () {
        wx.navigateTo({
            url: '/pages/testDbDemo/testDbDemo',
        })
    },
    //测试云函数
    testCloudFunction: function () {
        wx.navigateTo({
            url: '/pages/testCloudFunction/testCloudFunction',
        })
    },
    //
    goToStudentList: function () {
        wx.navigateTo({
            url: '/pages/studentList/studentList',
        })
    },
    goToOpenWindow: function () {
        wx.navigateTo({
            url: '/pages/openWindow/openWindow',
        })
    },

    //账号绑定页面
    gotoAccount:function(){
        wx.navigateTo({
          url: '/pages/account/account',
        })
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {

        //调用云函数，获取到openid值
        wx.cloud.callFunction({
            name:'getOpenid2021',
            data:{
            },
            success:res=>{
                console.log(res)
                let openid = res.result.openid
                // "重要的，其它页面也需要用的数据---本地存储"
                //存储的方式：“键值对”数据形式
                wx.setStorageSync('myOpenid', openid)
                //取值
                let a = wx.getStorageSync('myOpenid')
                console.log("a",a)
            }
        })


        //当前能否用新的接口，能用则用，canIUseGetUserProfile置为true
        if (wx.getUserProfile) {
            this.setData({
                canIUseGetUserProfile: true
            })
        }

        //已经登录过，直接显示用户的信息
        if(wx.getStorageSync('user')){
            this.setData({
                isShowUserName:true,
                studentInfo:{
                    name:wx.getStorageSync('user').name,
                    number:wx.getStorageSync('user').number,
                    imgurl: wx.getStorageSync('user').studentImg
                },
                userInfo:{
                    nickName:wx.getStorageSync('user').weixinInfo.nickName,
                    avatarUrl:wx.getStorageSync('user').weixinInfo.avatarUrl
                }
            })
            
        }
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})